<?php 

require './pdoconfig.php';

try {
    $pdo = new PDO(DSN, USER, PASS);
    // var_dump($pdo);
    // 设置字符集
    $pdo->query('set names utf8');
    // 设置PDO的SQL错误模式
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // 设置结果集形式为 关联数组
    $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);


    // 关闭自动提交
    $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, FALSE);
    // 开启事务的回滚点
    $pdo->beginTransaction();

} catch (PDOException $e) {
    echo $e->getMessage();
    exit;
}


try {
    // 批量插入的操作
    $data = [
        ['大A', '0', '17'],
        ['大B', '1', '7'],
        ['大C', '2', '77']
    ];

    $sql = "INSERT INTO user (name, sex, age) VALUES(?, ?, ?)";
    $stmt = $pdo->prepare($sql);

    $count = 0;
    $ids = [];
    foreach ($data as $k => $v) {
        $stmt->execute($v);
        $count += $stmt->rowCount();
        $ids[] = $pdo->lastInsertId();
    }

    echo '共插入'.$count.'条数据.';
    var_dump($ids);

    // 提交一个事务
    $pdo->commit();


} catch (PDOException $e) {
    echo $e->getMessage();
    // 回滚一个事务
    $pdo->rollBack();
    exit;
}



